<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // ES6  : ECMA script 6 (ES2015)
        // 一、变量定义  let  ---》 var
        // var a  = 10;
        // let b = 20;
        // 一、let 和 var 的区别 ？？
        // 1. let 不会声明前置 （预解析）;
        // console.log(a);
        // var a = 10;
        // console.log(a);
        // let a = 10;
        // 2.let 不能重复声明;
        // var a = 10;
        // var a = 20;
        // console.log(a); 
        // let a = 10;
        // let a = 20;
        // console.log(a);
        // 3.不会挂载到window上
        // var a = 10;
        // console.log(window.a);
        // let a = 10;
        // console.log(window.a);
        // 4.let 支持块级作用域 var不支持 
        // 块级作用域 "{}"里面的作用域
        // {
        //     // 这里就是块级作用域
        //     // let a = 10;
        //     // console.log(a);
        //     var a = 10;
        // }
        // console.log(a);
        // function test(){
        //     let a = 10;
        // }
        // test();
        // console.log(a);

        // var 声明的作用域会覆盖 ，但是let声明的作用域是独立的不会覆盖
        // for(let i=0;i<4;i++){
        //    setTimeout(() => {
        //        console.log(i);
        //    }, 1000);
        // }
        


    </script>
</body>
</html>